package generator;

import java.util.*;

import uslugi.*;
import util.*;

import klient.Klient;

public class GeneratorKont {

	private List<Klient> klienci;

	public GeneratorKont(List<Klient> klienci) {
		this.klienci = klienci;
	}

	public List<Konto> generujKonta() {

		// Numerowanie kolejnych kont
		long id_konto = 543221;

		// zwracana lista kont
		final List<Konto> konta = new ArrayList<Konto>();

		// 70% Klientow ma u nas konta
		int liczbaKlientowZKontem = (int) (klienci.size() * 0.7);
		for (int i = 0; i < liczbaKlientowZKontem; i++) {

			Klient k = klienci.get(i);

			//losujemy saldo poczatkowe
			int saldoP = k.getOszczednosciMsc() * MathUtil.losujInta(2, 16);
			//losujemy date otwarcia
			Date o = MathUtil.losujDate(k.getDataUrodzenia());
			
			//TODO: okreslic ten typ konta
			Konto noweKonto = new Konto(id_konto++, k, saldoP, 0,
					TypKontaEnum.O, o);
			
			konta.add(noweKonto);
			

		}

		return konta;

	}

	
	public static void main(String [] args){
		
		List<Klient> klienci = new ArrayList<Klient>();
		for (int i = 0; i < 100000; i++) {
			klienci.add(GeneratorKlientow.generujKlienta());

		}

		GeneratorKont g = new GeneratorKont(klienci);

		List<Konto> konta = g.generujKonta();
		
		for(Konto k: konta)System.out.println(k);

	}
		
		
	
	
	
	
}
